package com.fangs.yehwangglobal.widget

import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import androidx.viewpager.widget.ViewPager
import kotlin.math.abs

/**
 * 自定义viewpager 去除水平滑动 但垂直滑动保留（以便搭配协调者布局使用）
 */

class MyViewPager(context: Context, attrs: AttributeSet?) : ViewPager(context, attrs) {

    private var preX: Float = 0f
    private var preY: Float = 0f

    override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean {

        when (ev?.action) {
            MotionEvent.ACTION_DOWN -> {
                preX = ev.x
                preY = ev.y
            }

            MotionEvent.ACTION_MOVE -> {
                val moveX = ev.x
                val moveY = ev.y
                val instanceX = abs(moveX - preX)
                val instanceY = abs(moveY - preY)
                // 当水平滑动距离大于垂直滑动距离时 不执行下拉刷新事件
                if (instanceX > instanceY) {
                    return false
                }
            }

        }

        return super.onInterceptTouchEvent(ev)
    }

}